package it.unisa.unibox.junit.beans;

import it.unisa.unibox.beans.Prodotto;
import it.unisa.unibox.beans.Ricercatore;
import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class ProdottoTest extends TestCase {

	private Ricercatore r;
	private Prodotto p;

	@Override
	@Before
	public void setUp() {
		try {
			r = new Ricercatore(21, null, null, null, null, null, null, null, null, null, 0, 0, null, null);
			p = new Prodotto(64, r, "Altro", "Michele_PROVA1", "ABSTRACT_Michele_PROVA1", 0, 0, 2004, "italiano", "WWW", "NOTE_Michele_PROVA1");
		} catch (Exception e) {
			fail();
		}
	}

	@Override
	@After
	public void tearDown() {
		r=null;
		p=null;
		System.gc();	
	}

	@Test
	public void testGetId() {
		assertEquals(p.getId(), 64);
	}
	
	@Test
	public void testGetResponsabile() {
		assertEquals(p.getResponsabile().getId(), 21);
	}
	
	@Test
	public void testGetTipologia() {
		assertEquals(p.getTipologia(), "Altro");
	}
		
	@Test
	public void testGetTitolo() {
		assertEquals(p.getTitolo(), "Michele_PROVA1");
	}
	
	@Test
	public void testGetAbstract_field() {
		assertEquals(p.getAbstract_field(), "ABSTRACT_Michele_PROVA1");
	}
	
	@Test
	public void testGetStato() {
		assertEquals(p.getStato(), 0);
	}
	
	@Test
	public void testGetPubblico() {
		assertEquals(p.getPubblico(), 0);
	}
	
	@Test
	public void testGetAnno() {
		assertEquals(p.getAnno(), 2004);
	}
	
	@Test
	public void testGetLingua() {
		assertEquals(p.getLingua(), "italiano");
	}
	
	@Test
	public void testGetUrl() {
		assertEquals(p.getUrl(), "WWW");
	}
	
	@Test
	public void testGetNote() {
		assertEquals(p.getNote(), "NOTE_Michele_PROVA1");
	}
	
}